#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc,char **argv)
{
	if(argc < 2)
	{
		fprintf(stderr,"Usage: %s <ip-addr>\n",argv[0]);
		exit(EXIT_FAILURE);
	}

	char *ip = strdup(argv[1]);
	unsigned char ip_array[4]={0};

	fprintf(stdout,"IP-ADDR: %s\n",ip);

	sscanf(ip,"%d.%d.%d.%d",&ip_array[0],&ip_array[1],&ip_array[2],&ip_array[3]);
	fprintf(stdout,"Use '%%d': [0]%d,[1]%d,[2]%d,[3]%d\n",ip_array[0],ip_array[1],ip_array[2],ip_array[3]);
	memset(ip_array,0,sizeof(ip_array));

	sscanf(ip,"%c.%c.%c.%c",&ip_array[0],&ip_array[1],&ip_array[2],&ip_array[3]);
	fprintf(stdout,"Use '%%c':'%%d' out = [0]%d,[1]%d,[2]%d,[3]%d\n",ip_array[0],ip_array[1],ip_array[2],ip_array[3]);
	fprintf(stdout,"Use '%%c':'%%x' out = [0]%x,[1]%x,[2]%x,[3]%x\n",ip_array[0],ip_array[1],ip_array[2],ip_array[3]);
	memset(ip_array,0,sizeof(ip_array));

	sscanf(ip,"%u.%u.%u.%u",&ip_array[0],&ip_array[1],&ip_array[2],&ip_array[3]);
	fprintf(stdout,"Use '%%u': [0]%d,[1]%d,[2]%d,[3]%d\n",ip_array[0],ip_array[1],ip_array[2],ip_array[3]);
	memset(ip_array,0,sizeof(ip_array));

	free(ip);

	exit(EXIT_SUCCESS);
}
